package com.epfly.iface.promo.activity.vo;

import com.epfly.base.vo.BaseResp;
import lombok.*;
import lombok.experimental.SuperBuilder;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityDetailResp extends BaseResp {

    /**
     * 活动ID
     */
    private Long activityId;

    /**
     * 所属商户
     */
    private String merchantId;

    /**
     * 商户名称
     */
    private String merchantName;

    /**
     * 活动名称
     */
    private String activityName;


    /**
     * 活动类型:1.订单优惠;2.菜品优惠
     */
    private Byte activityType;
    private String activityTypeEx;

    /**
     * 优惠方式:1.满减;2.折扣;5.菜品分类折扣;6.菜品折扣;7.特价菜;
     */
    private Byte discountType;
    private String discountTypeEx;

    /**
     * 优惠方式==菜品分类折扣，菜品分类ID
     * 优惠方式==菜品折扣，菜品ID
     * 优惠方式==特价菜，菜品ID、特价金额
     */
    private List<ActivityRelationVo> relationList;


    /**
     * 活动开始时间
     */
    private Long activityStartTime;

    /**
     * 活动结束时间
     */
    private Long activityEndTime;

    /**
     * 活动对象类型:0.不限;1.散户;2.会员;3.员工
     */
    private List<Byte> activityObjectType;
    private String activityObjectTypeEx;

    /**
     * 部门/职务:0.不限;2.指定部门;3:指定职务;
     */
    private Byte activityObjectTypeCascade;
    private String activityObjectTypeCascadeEx;

    /**
     * 部门ID列表或职务ID列表
     */
    private List<String> objectIdList;

    /**
     * 活动档口:0.不限;1.指定档口
     */
    private Byte storeStyle;
    private String storeStyleEx;

    /**
     * 档口ID列表
     */
    private List<String> storeIdList;

    /**
     * 适用星期：0.不限;1.周一;2.周二;3.周三;4.周四;5.周五;6.周六;7.周日
     */
    private List<Byte> effectiveDays;
    private String effectiveDaysEx;

    /**
     * 活动节假日:0.不限;1.节假日不可用
     */
    private Byte isSuiteHoliday;
    private String isSuiteHolidayEx;


    /**
     * 下单方式:0.不限;1.绑盘;2.后支付;3.点餐;4.视觉识别;5.预定;
     */
    private List<Byte> effectiveOrderMethods;
    private String effectiveOrderMethodsEx;

    /**
     * 取餐方式:0.不限;1.堂食;2.配送;3.自提
     */
    private List<Byte> effectiveTakeMethods;
    private String effectiveTakeMethodsEx;

    /**
     * 备注
     */
    private String remark;

    /**
     * 活动规则
     */
    private List<ActivityRuleVo> ruleList;

    /**
     * 餐别活动限额限次
     */
    private List<ActivityDinnerBoundVo> dinnerBoundList;

    /**
     * 日活动限额限次
     */
    private ActivityDayBoundVo dayBound;


}
